package org.ejb.api;

import java.util.List;
import javax.ejb.Remote;

import org.ejb.entities.Annonce;
import org.ejb.entities.Evaluation;
import org.ejb.entities.Item;
import org.ejb.entities.Produit;
import org.ejb.entities.Utilisateur;

@Remote
public interface ProduitInterface {
	// fonction produit
	Produit createProduit(Produit produit);
	Produit findProduit(Long produitid);
	void deleteProduit(Produit produit);
	Produit updateProduit(Produit produit, String description); // Modifier le description d'un produit
	
	
	// fonction item
    //Item createItem(Item item); // on utilise ceci pour creer un item sans associer avec un produit (un item sans categorie)
	void ajouteItem(Produit produit ,Item item); // creer une relation avec le produit
	void deleteItem(Item item);
	Item findItem(Long itemid);
	List<Item> findItems();
	//Item updateItem(final Item item, final String description, final String name, final Set<Evaluation> evals, final float evaluation, final String imagePath, final Produit product, final int soldQuantity, final Float unitCost);
	//List<Item> searchItems(final String keyword);
	
	
	//fonction evaluation
	//Evaluation createEvaluation(Evaluation evaluation); // on utilise ceci pour creer un evaluation sans associer avec un item
	void ajouteEvaluation(Item item, Evaluation evaluation); // creer une relation avec l'item
	//void deleteEvaluation(Long id);
	
}
  